Development & Technical Details
• AI system logic was implemented using Behavior Tree, NavMesh, AI Perception, AI Controller, Blackboard, and more. Enemy AI can patrol in specified or random locations, detect the player by sight or by hearing gunfire, shoot or take damage (via interfaces), and die.
• Puzzles were developed mostly in C++ and the game includes a variety puzzles mechaincs:
1) True Path — the player must to find the correct path to cross the floor without falling.
2) True/False Plates — the player must choose the correct plate to reach the finish.
3) Object Matching — the player must place the correct objects on the correct plates.
4) Moving Platforms — the player must reach the finish using moving platforms and can stop certain platforms by stepping on specific plates.
5) Astral/Real Worlds – Interacting with certain objects in the Astral World changes the same or similar objects in the Real World.
6) Math Puzzle — the player must solve mathematical problems and select the correct answer by stepping on the plate when the correct answer is displayed.
7) Maze of Doors — the player must go through the doors in the correct order to reach the finish.
• Shooting was implemented using interfaces and line traces.
• UI/UX. The game includes a HUDs, a pause menu and a main menu. Player’s HUD displays HP bar, weapon info and FPS counter (visibility can be toggled in the settings). Pause and main menu has settings (key rebinding, graphics options, language selection and volume controls) and statistics. Both settings and statistics use a save/load system.
• Localization. The game is localized in English and Ukrainian language using localization dashboard.
• Pickups (heal and weapon) can be dropped by certain enemy types or after solving specific puzzles. Implemented via interfaces and triggered when the player interacts with them.
• Audio. Footstep sounds are implemented using line traces to detect the surface type (phys mat) and play relevant sounds via animation notifies. All audio is organized into master and mix sound classes.
• Spawn system. Enemies and pickups can be spawned dynamically in real time.
• I’ve also implemented a DevMenu for easier testing the game.